Skip to content

Partial match for xFuncPiece_EndPoints#556

Merged
JoshSanch merged 4 commits intobfbbdecomp:mainfrom
daft7:MoreMath
May 19, 2025
Merged

Partial match for xFuncPiece_EndPoints#556
JoshSanch merged 4 commits intobfbbdecomp:mainfrom
daft7:MoreMath

Conversation

@daft7
Copy link
Contributor

@daft7 daft7 commented May 19, 2025

Partial match for xFuncPiece_EndPoints. xFuncPiece Eval and ShiftPiece still tricky for me to attack.

@github-actions
Copy link

⚠️ 🔥

+51 bytes
🆗 Bot Rating: A small contribution, every little bit helps!

Regressions: 142

⚠️ main/SB/Core/x/xCollide - .text -132 bytes -> 5.42%
⚠️ main/SB/Core/x/xCutscene - .sdata2 -31 bytes -> 7.41%
⚠️ main/SB/Core/x/xCutscene - .text -820 bytes -> 6.55%
⚠️ main/SB/Core/x/xTimer - .sdata2 -2 bytes -> 88.89%
⚠️ main/SB/Core/x/xTimer - .text -343 bytes -> 71.62%
⚠️ main/SB/Game/zAssetTypes - .data -89 bytes -> 97.57%
⚠️ main/SB/Game/zAssetTypes - .rodata -65 bytes -> 92.48%
⚠️ main/SB/Game/zAssetTypes - .sbss2 -8 bytes -> 0.00%
⚠️ main/SB/Game/zAssetTypes - .text -240 bytes -> 33.96%
⚠️ main/SB/Game/zCutsceneMgr - .data -384 bytes -> 85.39%
⚠️ main/SB/Game/zCutsceneMgr - .rodata -1599 bytes -> 0.00%
⚠️ main/SB/Game/zMain - .data -471 bytes -> 0.00%
⚠️ main/SB/Game/zMain - .rodata -4257 bytes -> 0.00%
⚠️ main/SB/Game/zMain - .sbss -14 bytes -> 0.00%
⚠️ main/SB/Game/zMain - .sdata2 -111 bytes -> 4.26%
⚠️ main/SB/Game/zMain - .text -7235 bytes -> 1.14%
⚠️ main/SB/Game/zEntPlayerBungeeState - .bss -1336 bytes -> 50.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - .data -32 bytes -> 67.09%
⚠️ main/SB/Game/zEntPlayerBungeeState - .rodata -1731 bytes -> 7.82%
⚠️ main/SB/Game/zEntPlayerBungeeState - .sbss -5 bytes -> 50.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - .sdata2 -90 bytes -> 46.36%
⚠️ main/SB/Game/zEntPlayerBungeeState - .text -3800 bytes -> 17.24%
⚠️ main/SB/Game/zGoo - .sbss -16 bytes -> 0.00%
⚠️ main/SB/Game/zGoo - .sdata2 -8 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - .bss -20864 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - .data -72 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - .rodata -116 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - .sbss -16 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - .sdata2 -46 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - .text -4988 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - .text -100 bytes -> 0.00%
⚠️ main/SB/Game/zTaskBox - .bss -16 bytes -> 0.00%
⚠️ main/SB/Game/zTaskBox - .sbss -16 bytes -> 0.00%
⚠️ main/SB/Game/zTaskBox - .text -1076 bytes -> 52.42%
⚠️ main/SB/Game/zNPCTypeBossPlankton - .text -168 bytes -> 17.27%
⚠️ main/SB/Game/zCameraTweak - .bss -184 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - .sbss -25 bytes -> 46.15%
⚠️ main/SB/Game/zCameraTweak - .sdata2 -24 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - .text -1165 bytes -> 1.30%
⚠️ main/SB/Core/x/xPtankPool - .data -56 bytes -> 0.00%
⚠️ main/SB/Core/x/xPtankPool - .sdata2 -12 bytes -> 0.00%
⚠️ main/SB/Core/x/xPtankPool - .text -1016 bytes -> 0.00%
⚠️ main/SB/Core/gc/iTRC - .rodata -1 bytes -> 0.61%
⚠️ main/SB/Core/gc/iTRC - .sbss2 -8 bytes -> 0.00%
⚠️ main/SB/Core/gc/iTRC - .sdata2 -1 bytes -> 77.78%
⚠️ main/SB/Core/gc/iTRC - .text -664 bytes -> 53.85%
⚠️ main/SB/Core/x/xCollide - xParabolaRecenter(xParabola*, float) -132 bytes -> 0.00%
⚠️ main/SB/Core/x/xCutscene - xCutscene_Update(xCutscene*, float) -512 bytes -> 0.00%
⚠️ main/SB/Core/x/xCutscene - xCutscene_SetSpeed(xCutscene*, float) -196 bytes -> 0.00%
⚠️ main/SB/Core/x/xCutscene - CutsceneShadowRender(CutsceneShadowModel*) -112 bytes -> 0.00%
⚠️ main/SB/Core/x/xTimer - xTimerEventCB(xBase*, xBase*, unsigned int, const float*, xBase*) -180 bytes -> 0.00%
⚠️ main/SB/Core/x/xTimer - xTimerUpdate(xBase*, xScene*, float) -164 bytes -> 0.00%
⚠️ main/SB/Game/zAssetTypes - BSP_Read(void*, unsigned int, void*, unsigned int, unsigned int*) -100 bytes -> 50.85%
⚠️ main/SB/Game/zAssetTypes - jsp_shadow_hack_atomic_cb(RpAtomic*, void*) -136 bytes -> 0.00%
⚠️ main/SB/Game/zAssetTypes - jsp_shadow_hack_match(RpAtomic*) -3 bytes -> 0.00%
⚠️ main/SB/Game/zMain - main -308 bytes -> 0.00%
⚠️ main/SB/Game/zMain - ParseFloatList(float*, char*, int) -32 bytes -> 0.00%
⚠️ main/SB/Game/zMain - zMainParseINIGlobals(xIniFile*) -6876 bytes -> 0.00%
⚠️ main/SB/Game/zMain - zMainShowProgressBar() -4 bytes -> 0.00%
⚠️ main/SB/Game/zMain - zMainReadINI() -4 bytes -> 0.00%
⚠️ main/SB/Game/zMain - zMainFirstScreen(int) -3 bytes -> 0.00%
⚠️ main/SB/Game/zMain - zMainMemCardSpaceQuery() -4 bytes -> 0.00%
⚠️ main/SB/Game/zMain - zMainLoadFontHIP() -4 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::start() -432 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::state_type::start() -4 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::cache_hook(bungee_state::hook_type&) -40 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::cache_drop(const bungee_state::drop_asset&, unsigned int) -128 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::init_cache() -224 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::drop_asset::type_name() -16 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::common_update(xScene&, float) -48 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::load(xBase&, xDynAsset&, unsigned long) -100 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::load_settings(xIniFile&) -2072 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::init() -108 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::hanging_state_type::hanging_state_type() -64 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::state_type::state_type(bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::state_enum) -20 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::attaching_state_type::attaching_state_type() -64 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::destroy() -72 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::hanging_state_type::calc_drop_off_velocity(xVec3&, const xVec3&, const xVec3&, float, float) -144 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::hanging_state_type::render() -36 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - bungee_state::@unnamed@zEntPlayerBungeeState_cpp@::hanging_state_type::cb_cache_collisions::operator()(xEnt&, xGridBound&) -228 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_Alloc(zFragType) -148 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_Free(zFrag*) -100 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_GameInit() -232 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_ProjectileSceneInit(zFragProjectileAsset*) -112 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_ParticleSceneInit(zFragParticleAsset*) -60 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_SetShrapnelAssetInitCB(zShrapnelAsset*) -48 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_Update(float) -260 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_Reset() -112 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_Render() -64 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - CinFragCB(zFrag*, zFragAsset*) -88 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_CinematicInit(zShrapnelAsset*, RpAtomic*, RwMatrixTag*, xVec3*, void (*)(zFrag*, zFragAsset*)) -220 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFragLoc_Setup(zFragLocation*, xModelInstance*) -72 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFragLoc_InitDir(zFragLocation*, xVec3*, xModelInstance*) -252 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_DefaultInit(zFrag*, zFragAsset*) -500 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_DefaultParticleUpdate(zFrag*, float) -176 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_ParticleManager(float) -240 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_ProjectileCollData(zFrag*) -172 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_DeleteProjectile(zFrag*) -144 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_ProjectileManager(float) -1040 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_DefaultLightningUpdate(zFrag*, float) -220 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_LightningManager(float) -272 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_DefaultSoundUpdate(zFrag*, float) -232 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_SoundManager(float) -160 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zFrag_ProjectileRenderer() -4 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_DestructObjInit(zShrapnelAsset*, xModelInstance*, xVec3*, void (*)(zFrag*, zFragAsset*)) -4 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_BB03FloorInit(zShrapnelAsset*, xModelInstance*, xVec3*, void (*)(zFrag*, zFragAsset*)) -4 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - BB03FloorChildCB(zFrag*, zFragAsset*) -4 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_BB03FloorChildInit(zShrapnelAsset*, xModelInstance*, xVec3*, void (*)(zFrag*, zFragAsset*)) -40 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_GlobalRobotInit(zShrapnelAsset*, xModelInstance*, xVec3*, void (*)(zFrag*, zFragAsset*)) -3 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - zShrapnel_SpongebobInit(zShrapnelAsset*, xModelInstance*, xVec3*, void (*)(zFrag*, zFragAsset*)) -4 bytes -> 0.00%
⚠️ main/SB/Game/zShrapnel - xMat3x3RMulVec(xVec3*, const xMat3x3*, const xVec3*) -100 bytes -> 0.00%
⚠️ main/SB/Game/zTaskBox - ztaskbox::load(const ztaskbox::asset_type&) -88 bytes -> 52.17%
⚠️ main/SB/Game/zTaskBox - ztaskbox::start_talk(zNPCCommon*) -215 bytes -> 11.11%
⚠️ main/SB/Game/zTaskBox - ztaskbox::init() -52 bytes -> 15.00%
⚠️ main/SB/Game/zTaskBox - ztaskbox::set_state(ztaskbox::state_enum) -208 bytes -> 0.00%
⚠️ main/SB/Game/zTaskBox - ztaskbox::on_talk_stop(ztalkbox::answer_enum) -216 bytes -> 0.00%
⚠️ main/SB/Game/zTaskBox - ztaskbox::get_text(unsigned int) -128 bytes -> 0.00%
⚠️ main/SB/Game/zTaskBox - ztaskbox::cb_dispatch(xBase*, xBase*, unsigned int, const float*, xBase*) -168 bytes -> 0.00%
⚠️ main/SB/Game/zNPCTypeBossPlankton - ZNPC_AnimTable_BossPlankton() -168 bytes -> 72.49%
⚠️ main/SB/Game/zCameraTweak - zCameraTweak_LookPreCalc(zCamTweakLook*, float, float, float) -140 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweakGlobal_Init() -80 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweakGlobal_Add(unsigned int, float, float, float, float) -260 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCamTweak::operator=(const zCamTweak&) -44 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweakGlobal_Remove(unsigned int) -161 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweakGlobal_Update(float) -64 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweak_Init(xBase&, xDynAsset&, unsigned long) -32 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweak_Init(zCameraTweak*, CameraTweak_asset*) -104 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweak_Save(zCameraTweak*, xSerial*) -32 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweak_Load(zCameraTweak*, xSerial*) -32 bytes -> 0.00%
⚠️ main/SB/Game/zCameraTweak - zCameraTweak_EventCB(xBase*, xBase*, unsigned int, const float*, xBase*) -216 bytes -> 0.00%
⚠️ main/SB/Core/x/xPtankPool - @unnamed@xPtankPool_cpp@::sort_buckets(@unnamed@xPtankPool_cpp@::group_data&) -320 bytes -> 0.00%
⚠️ main/SB/Core/x/xPtankPool - @unnamed@xPtankPool_cpp@::create_ptank(unsigned int) -180 bytes -> 0.00%
⚠️ main/SB/Core/x/xPtankPool - @unnamed@xPtankPool_cpp@::destroy_ptank(RpAtomic*) -88 bytes -> 0.00%
⚠️ main/SB/Core/x/xPtankPool - @unnamed@xPtankPool_cpp@::compare_ptanks(const void*, const void*) -148 bytes -> 0.00%
⚠️ main/SB/Core/x/xPtankPool - xPTankPoolRender() -280 bytes -> 0.00%
⚠️ main/SB/Core/gc/iTRC - ROMFont::InitDisplay(_GXRenderModeObj*) -384 bytes -> 0.00%
⚠️ main/SB/Core/gc/iTRC - GXTexCoord2s16 -16 bytes -> 0.00%
⚠️ main/SB/Core/gc/iTRC - GXPosition3s16 -20 bytes -> 0.00%
⚠️ main/SB/Core/gc/iTRC - ResetButton::CheckResetButton() -60 bytes -> 1.92%
⚠️ main/SB/Core/gc/iTRC - iTRCDisk::Init() -8 bytes -> 72.73%
⚠️ main/SB/Core/gc/iTRC - iTRCDisk::IsDiskIDed() -68 bytes -> 5.56%
⚠️ main/SB/Core/gc/iTRC - iTRCDisk::DisplayErrorMessage() -108 bytes -> 2.27%

Progress: 3

📈 main/SB/Core/x/xMath - .text +47 bytes -> 78.23%
📈 main/SB/Game/zAssetTypes - .sbss +3 bytes -> 87.50%
📈 main/SB/Core/x/xMath - xFuncPiece_EndPoints(xFuncPiece*, float, float, float, float) +48 bytes -> 57.14%

Copy link
Collaborator

@JoshSanch JoshSanch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution! Looking good for the most part, I left some minor feedback. Please also rebase against main and push so that OK Bot can verify that there are no regressions.

}

void xFuncPiece_EndPoints(xFuncPiece* func, F32 pi, F32 pf, F32 fi, F32 ff) {
float xfinv;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this from the DWARF data? If so, you can leave it in, but if not, please remove it.

If you leave it, please change its type to F32.

@github-actions
Copy link

🆗 ✅

+48 bytes
🆗 Bot Rating: A small contribution, every little bit helps!

No Regressions 🎉

Progress: 2

📈 main/SB/Core/x/xMath - .text +47 bytes -> 78.23%
📈 main/SB/Core/x/xMath - xFuncPiece_EndPoints(xFuncPiece*, float, float, float, float) +48 bytes -> 57.14%

@JoshSanch JoshSanch merged commit b7a1487 into bfbbdecomp:main May 19, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants